# 欢迎来到Python变量知识大挑战！准备好迎接一系列精心设计的考题了吗？
# 本期我们将通过实战演练，检验你对Python变量的掌握程度，
# 重点攻克那些最容易犯错的知识点！Let's go!
print("# Python变量知识大挑战开始！攻克易错点，提升编程技能！") 

# 挑战 1：变量命名知多少？下面哪个变量名是“非法”的？
# 选项：A) my_variable  B) _my_variable  C) 1st_variable  D) variable_1
# 请选择你认为错误的选项，并运行代码看看结果吧！

# 代码区
# variable_name_test = 1st_variable = "test" #  取消注释本行代码运行，看看会发生什么？

print("# 思考题1：哪个变量名是“非法”的呢？") # 题目提示

#  答案揭晓： 正确答案是 C) 1st_variable
#  错误原因： Python 变量名不能以数字开头！这是命名规则的红线，
#  就像交通规则一样，必须遵守哦。变量名开头只能是字母或下划线。
#  选项 A, B, D 都是合法的变量名，可以放心使用。

print("# 挑战1 答案揭晓！变量名不能以数字开头哦！") # 挑战1 答案总结

# ---------------------------------------------------------------------

# 挑战 2：大小写敏感吗？下面代码会输出什么？
# 代码：
# apple = "苹果"
# Apple = "🍎"
# print(apple, Apple)
# 选项：A) 苹果 苹果  B) 🍎 🍎  C) 苹果 🍎  D) 报错
# 仔细观察变量名的大小写，预测一下输出结果吧！

# 代码区
apple_case = "苹果"
Apple_case = "🍎"
print(apple_case, Apple_case)

print("# 思考题2：大小写敏感吗？代码会输出什么呢？") # 题目提示

#  答案揭晓： 正确答案是 C) 苹果 🍎
#  关键知识： Python 变量名是区分大小写的！ apple 和 Apple 是两个完全不同的变量，
#  就像 "小明" 和 "小红" 不是同一个人一样。
#  所以，在Python的世界里，大小写一定要注意，写错大小写就可能访问到错误的变量，
#  甚至导致程序出错！

print("# 挑战2 答案揭晓！Python变量名区分大小写！") # 挑战2 答案总结

# ---------------------------------------------------------------------

# 挑战 3：作用域的秘密？函数内外的变量是同一个吗？
# 代码：
# fruit = "香蕉" # 全局变量
# def change_fruit():
#     fruit = "草莓" # 局部变量
#     print("函数内部的水果是：", fruit)
# change_fruit()
# print("函数外部的水果是：", fruit)
# 选项：A) 香蕉 香蕉  B) 草莓 草莓  C) 草莓 香蕉  D) 香蕉 草莓
# 运行代码前，先思考一下函数内外的变量 fruit 会互相影响吗？

# 代码区
fruit_scope = "香蕉" # 全局变量
def change_fruit_scope():
    fruit_scope = "草莓" # 局部变量
    print("函数内部的水果是：", fruit_scope)
change_fruit_scope()
print("函数外部的水果是：", fruit_scope)

print("# 思考题3：函数内外的变量是同一个吗？输出会是什么呢？") # 题目提示

#  答案揭晓： 正确答案是 C) 草莓 香蕉
#  作用域解析： 函数内部的 fruit = "草莓"  创建的是一个局部变量，它只在 change_fruit() 函数内部有效。
#  函数外部的 fruit = "香蕉"  才是全局变量，在函数外部和函数调用之前都有效。
#  函数内部的局部变量 fruit  和全局变量 fruit  虽然名字相同，但它们是住在不同“区域”的变量，互不干扰。
#  除非你在函数内部使用 "global" 关键字声明，否则函数内部同名变量默认是局部变量哦。

print("# 挑战3 答案揭晓！函数内外变量作用域不同，互不干扰！") # 挑战3 答案总结

# ---------------------------------------------------------------------

# Python变量知识大挑战到此结束！
# 通过这三道题，你是不是对Python变量有了更清晰的认识呢？
# 变量命名要规范，大小写要分清，作用域要牢记！
# 掌握这些，你就能避免很多常见的变量错误，写出更健壮的Python代码啦！
# 继续努力，Python变量的更多奥秘等你来探索！下次挑战再见！ (本代码共 75 行)
print("# 恭喜你完成Python变量知识大挑战！掌握变量要点，编程之路更上一层楼！") 